package br.com.lp3.livraria.controller.funcionarios;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.lp3.livraria.dao.FuncionarioDao;
import br.com.lp3.livraria.model.Email;
import br.com.lp3.livraria.model.Endereco;
import br.com.lp3.livraria.model.Funcionario;
import br.com.lp3.livraria.model.Telefone;

@WebServlet(urlPatterns="/view/funcionarios/adicionar.do")

public class AdicionarFuncionarioServlet extends HttpServlet {
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		String login = req.getParameter("login");
		String senha = req.getParameter("senha");
		String nome = req.getParameter("nome");
		String cpf = req.getParameter("cpf");
		String rg = req.getParameter("rg");
		String numeroCarteira = req.getParameter("numeroCarteira");
		
		Funcionario funcionario = new Funcionario();
		funcionario.setLogin(login);
		funcionario.setSenha(senha);
		funcionario.setNome(nome);
		funcionario.setCpf(cpf);
		funcionario.setRg(rg);
		funcionario.setNumeroCarteira(numeroCarteira);
		
		String rua = req.getParameter("rua");
		String numero = req.getParameter("numero");
		String bairro = req.getParameter("bairro");
		String cidade = req.getParameter("cidade");
		String estado = req.getParameter("estado");
		String pais = req.getParameter("pais");
		
		Endereco endereco = new Endereco();
		endereco.setRua(rua);
		endereco.setNumero(numero);
		endereco.setBairro(bairro);
		endereco.setCidade(cidade);
		endereco.setEstado(estado);
		endereco.setPais(pais);
		
		List<Endereco> enderecos = new ArrayList<Endereco>();
		enderecos.add(endereco);
		
		String email = req.getParameter("email");
		Email email_funcionario = new Email();
		email_funcionario.setEmail(email);
		
		List<Email> emails = new ArrayList<Email>();
		emails.add(email_funcionario);
		
		String telefone = req.getParameter("telefone");
		Telefone telefone_funcionario = new Telefone();
		telefone_funcionario.setTelefone(telefone);
		
		List<Telefone> telefones = new ArrayList<Telefone>();
		telefones.add(telefone_funcionario);
		
		funcionario.setTelefones(telefones);
		funcionario.setEnderecos(enderecos);
		funcionario.setEmails(emails);
		
		if (!funcionario.isFill(0)) {
			resp.sendRedirect("adicionar.jsp?fill_error=1");
		} else {
			FuncionarioDao funcionarioDao = new FuncionarioDao();
			funcionarioDao.salvar(funcionario);
			resp.sendRedirect("mostrar.do?add=1&id="+funcionario.getIdUsuario());
		}

	}
}
